{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 用Python来画数学图像吧"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 导入必要的函数库"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.patches as mpathes\n",
    "import math"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 一起比个心吧"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAD8CAYAAAB3u9PLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3deXxU9b3/8ddnJvvCFrawr4JIFTWCWrXuRVqluPTa9rq1lmtbq7Zar5VbtT5a61ar1K24VPzdtq5V0dIqLr229oIGKyjiglwrm4KKKAYISb6/P74HjZCQZU7mnDnzfj4eIbN8mfPJSeZ85rubcw4REZFU1AGIiEg8KCGIiAighCAiIgElBBERAZQQREQkoIQgIiJACAnBzAab2VNm9rKZLTGzs1soY2Y208yWmdliM9sr0+OKiEi4CkJ4jQbgXOfc82ZWCSw0s3nOuZeblTkKGB18TQJuCr6LiEhMZFxDcM6tcc49H9z+CFgKDNyu2FTgTufNB3qYWXWmxxYRkfCEUUP4hJkNA/YEFmz31EBgRbP7K4PH1rTwGtOB6QDl5eV7jx07NswQRUQSbeHChe865/p05v+GlhDMrAK4HzjHOfdhZ1/HOTcLmAVQU1PjamtrQ4pQRCT5zOxfnf2/oYwyMrNCfDL4nXPujy0UWQUMbnZ/UPCYiIjERBijjAy4DVjqnLumlWJzgJOD0Ub7Ahucczs0F4mISHTCaDL6PHAS8KKZvRA8diEwBMA5dzMwF5gCLAPqgNNCOK6IiIQo44TgnPs7YG2UccD3Mj2WyE59/DEsWQKvvALLlsHrr8Pq1fD++/65+npwDtJpKCqCigro1QsGDICRI2HYMBgxAsaMgX79wHb6Zy3t5Zz/Pbz6KixfDm++6b+vWeN/Nxs3+t9NUxOkUv53U14OVVUwaBCMHu1/P7vuCuPGQUlJ1D9RYoU6ykgkqzZsgHnz4JFH4Kmn/EWnrAwaG6Guzl+I2svM/9+CAtiyxV+Yxo6FAw6AAw+Ez38eqjVSul3eegueeQb+9jf4+999YjbzF/qtW2HTpo79blIpnyDM/O916FA4/HCYMgUOO8w/J6GwOG+Qo1FGsoNNm+C+++Dmm6G2FoqL4aOPuu54Zr4mUV/vaxOTJ8PUqf5CVFHRdcfNJR984BPzgw/67x99BIWFXf97qaz0yfvAA+GMM+Doo33SyXNmttA5V9Op/6uEIDlhzRq48kq45RZ/Mdi4MbpYKit9gpg4EU49FY49Fnr0iC6eKKxbB/ffD7/9LbzwQtcn5rZUVvqaxFlnwTnn+OSdp5QQJLk++AAuusgngqYmfyGOk4oK3wzyhS/AmWfCUUf5Zqck2rIFHnoIfv1reO45/3N+/HHUUX1WSYlPDD/4Afz4x3nZnKSEIMnjHPzud/4iu3mzvxjFXWWl77D+znd83AMGRB1ROP7v/+Daa+H2233tLMqaQHuVlvpk8Nvfwpe/HHU0WZVJQtDy1xI/H3zg38RnnOE7jnMhGYC/UH7wAVxzjR8Vc9xxsHhx1FF13vz58MUv+pE9N93km+lyIRmA72t69134t3+Dk07yndHSJiUEiZdXXoHddoPHH49fc0R7bdniazUPPgj77guHHOKbWHLFX/8K++zjO87nzfM/y9atUUfVOXV1fhDChAmwYkXb5fOcEoLEx/z5vqN29er49RV0RlOT/6T617/CwQf7oZJLlkQdVeuefRYmTfK1s9rajg/djavNm/28hwkT4OWX2y6fx5QQJB6efdZfMHOlSaKj6urgySehpsY3YbzzTtQRfeqtt/xQ2oMP9jWZXK2Z7UxjI6xf7+eTvPJK1NHElhKCRG/ZMjjiiGReiJpzzn9avece38fwq19BQ0N08WzZApdc4ifgzZ3b8QljucY53yd10EHw9ttRRxNLSggSrY8/TnbNoCX19f7n/slPYPx4P44/2/7+d78kxFVX+UQQZWLKJud8x//kybnbL9KFlBAkWv/xH775JMmfTFvz8cd+fZ/994cZM7Jzgdq0Cb77XTjySN/Jmo+jb7Zu9ctpzJgRdSSxo4Qg0XniCXjgAd+Mks82bfLj/Pfay3d+dpUXX/QLxN1xhz9mPqurg+uvj6Z2FmNKCBKNhgb45jfz8xNqS+rq/AiY3Xf3S0KE7ZZb/BDYt95SMthm82b/N5iPtdNWKCFINGbPhvfeizqKeGlq8s1IJ58M557rR8Zkqr4eTjnFr++TlGGkYXEOXnsN/vKXqCOJDSUEyb6mJrj44uSPKuqsujq/mutRR2V2jt5/3w+zvPde1cRa8/HHcOGFUUcRG0oIkn1PPOGH/0nr6ur8fgKTJvklGDpqxQrfJ7F4sZqI2vLaa7m9xEiIlBAk+268Mdrlq3PF5s3+YrXPPh0bN798uZ8At3JlMmZ8d7X6et/HIuEkBDO73czWmtlLrTx/sJltMLMXgq+Lwjiu5KD6erXZdsTWrf7CPmmS34OgLW+++WmtIow+iHzQ0AB33aX+FcKrIdwBTG6jzN+ccxOCr0tDOq7kmmee0a5WHdXQ4Nd3OvDAnU/gW7fO9xm8/77vp5H227QJli6NOorIhZIQnHNPA++H8VqSIM75T6n1W2FLvf8+L4dXMY1SQ4P/9D91asuf/Lds8TO+161TMugM5+Dpp6OOInLZ3NppPzNbBKwGznPOxXjZR2k35+DjTbCxLvja5C9OWxugsQkMwILvwCN/UlNGZ23ZAgsW+Bm2l1/+2eemT/ezb7UcQ+fU1cH//I/fgyOPZSshPA8Mdc5tNLMpwIPA6JYKmtl0YDrAkCFDshSedMimLfDuev/1UR2kDBwtfzJ1wT/bmmf/9WbWwkykujqYOROmTPGLtAH88Y9+zX+NJsrMP/8ZdQSRC20LTTMbBjzinBvfjrJvAjXOuZ2Op9MWmjHS0AjvvAur1vrmH0fHO+G2boUvHqAmjTAMGABLXoaVb8N++8DGPFocsKuUlydi9FsmW2hmpYZgZv2Bd5xzzswm4vsuNE01F9RvhX+threD3N2UwQeI99/zHcr5vnZRGN5/Hy68GNathfoc2WI07jZt8n+bJSVRRxKZUBKCmf0BOBjobWYrgYuBQgDn3M3A8cB3zKwB2ASc6MKqmkjXaGz0iWDV2s7VBlry4QZIpTN/HfEXrjtvg631mmsQluJiv4lOdXXUkUQmlITgnPtaG89fD1wfxrEkC9Z/CEuX+6SQSY1ge5s3g1nb5aR9tm7V+QxTOp33I+CyOcpI4q6pCd5YAW+/1zXt/I15sglLtjRsVX9MmMzyZ6OgVighiNfQAItfh4/rwq0VNJfWn1uo1OoaLuegIL//RvP7pxevfiv885Vg9FAXXmRKSnQRk/hqbPQjjfKYEkK+29rgk8HmLIxUqaiEJk1Kk5iqr4eePaOOIlJa7TSfNTXBi6/7mkE29KrSiBiJr8LCvB5yCkoI+e2NFX7ZiWw14xQXQ3F+v+Ekxvr2jTqCyCkh5Kv1H3bdaKKd6dc/u8cTaa/RLa6mk1eUEPJRU5OfZxDFkMWRetNJDJn5jYjynBJCPlrxdnQrju62OxQVR3NskdZUVsLee0cdReSUEPJNQyO89XbXzTVoy667QYGWr5CY2bpVNQSUEPLPmnZsw9iVRu2iNfslfkpKQMvtKyHkFedg5TvRLndQWAgjd4nu+CIt+cIXtC4USgj55aOPfZNR1A46BAq1r7LEREUFTJsWdRSxoISQT9atj8diaPsdACn96UlMbN0KkydHHUUs6F2ZT979IOoIvGEjoLwi6ihEvDFjNCktoISQLxobs7dERVvM4IjJWv1UoldaCqedFnUUsaGEkC821kEqRp1mX/xS3i81LDHQ1AQnnhh1FLGhhJAv6jbHa+npEaOgd++oo5B8t88+0F/LqWyjhJAvNm2ObjJaa447Me9Xl5QIVVbCOedEHUWshJIQzOx2M1trZi+18ryZ2UwzW2Zmi81srzCOKx2wKSb9B80d+aX4JSnJH+k0HHNM1FHESlg1hDuAnY3bOgoYHXxNB24K6bjSXnHcK7aiAg49ElJaykKyrKQEzjzTT5SUT4SSEJxzTwPv76TIVOBO580HephZdRjHlnZqjMH8g5Z8/WR1Lks0zjwz6ghiJ1t9CAOBFc3urwwe24GZTTezWjOrXbcu4nV3EiWmTTNDhsH43aOOQvJJQQGccAL06xd1JLETu05l59ws51yNc66mT58+UYeTHBa7X/WnTv+udlKT7CkogIsuijqKWMrWVWIVMLjZ/UHBY5ItcV5yetx4vwqqSFcrKICjj4ZRo6KOJJaylRDmACcHo432BTY459Zk6dgCUBTzdvrv/UC1BOl6BQVw2WVRRxFboVwlzOwPwMFAbzNbCVwMFAI4524G5gJTgGVAHaC54tlWEvNdysaN930Jzz8Xrwl0khyFhb7vQLWDVoWSEJxzX2vjeQd8L4xjSSeVFEM6Fd/RRgBnnQffPgnqt0QdiSRRQQFcfnnUUcRajHsaJVSlMa8hAAwdDoceAQUaGy4hKy2FH/wABgyIOpJYU0LIF2WluTEr+IyzNC9BwldWBhdeGHUUsaeEkC8K0lCYAxfaHj3hW9/RGkcSnvJyuPFG/112Sgkhn1TmyBti2glQpTkoEoJUCnbf3XcmS5uUEPJJr265sXVlQQHMuBSKc6DfQ+KtuBhmz/abMkmbcuDqIKHp0Y3YLmGxvXHj4cgpUFQUdSSSq8rK4IILYPToqCPJGUoI+aS02C/5myu+cw6U5Ugzl8SLmR9R9OMfRx1JTlFCyCdm0LtH1FG0X1kZXPRzNR1Jx5WUwL33annrDlJCyDd9e/kJarlir33g8MlQpKQg7VReDuefDxMmRB1JzsmhK4OEonslkGMdbN8/D7p3jzoKyQWpFIwYAf/1X1FHkpOUEPKNma8l5JKSEvj5L9V0JG0rLYUHHtDkxk5SQshHA/rkxvDT5nYZC6d8WxPWpHVlZXDTTTByZNSR5KwcuypIKCrKoDgHO9tOPAnGjNNaR7KjkhK/z8FJJ0UdSU5TQshXg/vnXi0hlYJLr9ASBPJZZtC/P9x2W9SR5LwcuyJIaPpW5VzfMgDde8Bl16g/QT5VVgZ//rM+KIRACSFfpVO+LyEXp/Tv9jmY/n31J4hPBrNnw9ixUUeSCEoI+WxQ/9ysJQAc+1XY/yDNT8hnZWVwxhlw3HFRR5IYSgj5rKgwd5uOzOA/L4KBg3JrOQ4JR3Ex7LMPXHll1JEkSigJwcwmm9mrZrbMzC5o4flTzWydmb0QfJ0exnElBMMG5GazEfiLwtXXQ3lF1JFINqVS0K8fPPSQPgyELOOEYGZp4AbgKGAc8DUzG9dC0budcxOCr1szPa6EpLgI+vXO3aRQ1dsnhWL1J+SNigp44gnNXu8CYdQQJgLLnHPLnXP1wF3A1BBeV7Ill2sJ4CetzfipRh7lg9JSePhhGDUq6kgSKYyEMBBY0ez+yuCx7R1nZovN7D4zG9zai5nZdDOrNbPadevWhRCetKmoEAb1y715Cc0ddCicMl0jj5KsrAxuvhkOOijqSBIrW1eAh4FhzrndgXnA7NYKOudmOedqnHM1ffpoG8WsGdIfUjlcSwD42kl+ZVQ1HyVPWRn86Edw8slRR5JoYSSEVUDzT/yDgsc+4Zx7zzm3Jbh7K7B3CMeVMKXTMGpIbtcSzOAHF8CEvTQcNUnKyvyeyBdfHHUkiRfGu/85YLSZDTezIuBEYE7zAmZW3ezuMcDSEI4rYevbC8py/NN1Og2XXgnDR2hzlCQoLYUDD/TLUuRyP1eOyDghOOcagDOBR/EX+nucc0vM7FIzOyYodpaZLTGzRcBZwKmZHle6gBmMHZ77TUfFxfDLG6Fvfw1LzGXFxTB+PDz4oH6PWWLOxXfT9ZqaGldbWxt1GPnnjRWwei00xfdvo13efw+mn+S/NzVFHU34zCDG79+MFBb6ZawXLIBu3aKOJqeY2ULnXE1n/m8ONxhLlxk2MBkbjPSqgutvg8puam7IJQUFMGAA/O1vSgZZpoQgO0qnYNcRud90BNC/Gq6/VbOZc0U6DX36wD/+Ab17Rx1N3lFCkJb1qIR+VclICoOHwsxZWh457lIp6NUL/vd/fQ1Bsk4JQVo3cggUJqDpCGDEKLj2N1CmpBBLqRT07OmTwdChUUeTt5QQpHXpFOw2Khm1BIDRY+Dam6G0LOpIpDkz6NHDJwPthxwpJQTZucpyGFKd2xPWmttlLFz3GyWFuNhWM5g/H0aPjjqavJeQd7l0qSHVUF4adRTh2WWs71NQ81G0tiWDBQuUDGJCCUHaZgbjRyVrctDoMfDrWzT6KCrptB9F9NxzWrk0RpQQpH2KCmG3kcnpTwAYORpuvF3zFLKtoAD69/fJYPjwqKORZpQQpP16doPBCepPABg6HG66A7r3SNbPFVdFRTBokE8GQ4ZEHY1sR+8A6Zih1dCtIlmfqAcNhll3+t3XktQsFjfFxX4UUW0tVFe3XV6yTglBOsbMNx0VJWwl0b79Ydb/g+oBWiW1K5SWwuc+50cTVVVFHY20QglBOq4gDbvvkrwmlp694OY7YdhI37Qh4Sgrg/33h6ef1tpEMZewd7RkTVkJjEtYJzP4DdyvvwXG76E9msNQVgZHHw1/+YuvJUisKSFI51V1h+EDk1dTKC6BK2fC/gdpj+ZMlJXB6afDH/6QjNVz80DC3smSdYP6Q79eyUsKBQVw0c/h6GO1R3NnlJX5LS+vuy5ZAxASLmHvYonE6KHQrTx5b3wz+N4P4PTvqPmoI0pLYdYsOP/8qCORDlJCkMxtm8lcmtCL5glfhwsuVk2hPcrL4eGH4RvfiDoS6YRQEoKZTTazV81smZld0MLzxWZ2d/D8AjMbFsZxJUbSadhjTPKGo25zyBFw1UwtiteadNrvZfDMM3DYYVFHI52UcUIwszRwA3AUMA74mpmN267Yt4D1zrlRwK+AKzI9rsRQUSFMGOuHpSbR7nvCzbP98FRNYPtUcbGfdfzCC7DHHlFHIxkIo4YwEVjmnFvunKsH7gKmbldmKjA7uH0fcJhZ0hqcBfDNRnuM8XspJNHQYXDr72DQEM1VAN95vOee8M9/wuDBUUcjGQpjLNhAYEWz+yuBSa2Vcc41mNkGoAp4d/sXM7PpwHSAIVrrJDz/Uxt1BLDkRfjeN6OOIjmcizoCqKvzs4979Ig6knCsWpXX23fGbnCwc24WMAugpqYmBn/xCXHAnrClPrvHfP9DeKPZZ4XdPgd/eBDqt2Y3jq7S1Ai//iU8/1zUkUTjuOPhwgvDGV1WVBh9M1x5eV4nAwgnIawCmtcVBwWPtVRmpZkVAN2B90I4trRXOg1lWZ4pWlYKJUWwdDk0Bbm9emB2Y+hq19wI9/4ebrkR6rdk99hm0dQSSkvhlls0kiiBwmjofQ4YbWbDzawIOBGYs12ZOcApwe3jgSedi0N9V7pc754wZljylrho7oSvwyWXJX9Wcyrl1yJ67DElg4TKOCE45xqAM4FHgaXAPc65JWZ2qZkdExS7Dagys2XAD4EdhqZKgvWt8pPXkpwU9j8Ifn0rdOsOqQSOQCoq8s0pCxfCAQdEHY10EYvzB/WamhpXWxuDzlAJx9vvwuv/+rT5KInWrYUffhfeWQP1Xdxnk60mo9JSGD/eL1DXq1fXH08yYmYLnXM1nfm/CR0bKLHUv3fyawp9+vp9FXafkIwmpLIymDoV/v53JYM8oIQg2dW/N+wyLNlJobQUrpgJRx2T28tdlJbCBRfA73+vORd5InbDTiUP9KvyzR2v/l9ym4/SaTj7R8GezdfCliyPQMpUWRnccQeccELUkUgWqYYg0ejbC3YdkeyaAsBXjoefXZ07m8Ok036S2VNPKRnkISUEiU7vnrDbqOTtpbC9ffaFm+6I/xpIzdckmjgx6mgkAgl/J0rs9eoOu49O7tpH2wwbAbf9HoYMi2d7fFkZ7LOPX5No6NCoo5GIJPxdKDmhe6VfJTXOn57D0KvK1xQm7B2vzuayMjjuOHjySejePepoJEJKCBIPFWWw165QmPBxDiUlcPm1cNTR8UgKZWV+JNHs2VCY0L0spN2UECQ+ykpg73F+/aMkr46eSsE558Pp3412a85taxL95CfJPt/SbkoIEi/FRbDXOJ8ckj4C6YSvwYxLo6kpVFTAn/4EX/969o8tsaWEIPFTWAB77grdKpKfFA46FK6+3jfdZMO2rS7/8Q845JDsHFNyhhKCxFM6BbvvAn16Jn9Y6uf2gBt/GyyM14U/a2EhVFfD88/D5z7XdceRnJXwd5rkNDMYMxwG9Ut+Uhg2wq+BVNW7a0ZbFRfDyJE+GWhYqbQi4e8yyXlmMHwgjBqc/Oaj/tU+KfSrhoIQR1uVlMBuu8GCBdCnT3ivK4mjhCC5obpPfsxq7tkLbr4DBg4OZxhoaSnsvTf87W9+cxuRnUj4u0sSpVd32HMsFCR8Alu37nDD7TBoSGZJobTUzz5+/PHsdVpLTlNCkNxSUQY1u0FJcbLHzldU+B3YBgyCgk4khZIS2HNPePTRZOzLIFmhhCC5p7jIT2DrVp7sfoWKCvj1Lb7dv6VtOVtLiEVFMHYszJunZCAdklFCMLNeZjbPzF4PvvdspVyjmb0QfM3J5JgigG822mOM3685yf0K3boHezW3s/0/nYaBA/3y1Womkg7K9J10AfCEc2408ERwvyWbnHMTgq9jMjymiGcGuwyFYQOSXVPo3Qdm/gbKytsu260bPP2039NApIMyTQhTgdnB7dnAVzJ8PZGOMYPB/YPNdhJaU0il4EtHwv337XyjndJS+MtfYNCg7MUmiZLpO6ifc25NcPttoF8r5UrMrNbM5pvZTpOGmU0PytauW7cuw/Akb/Tu6ZfQTtoIpMICvwpsr+4weTKcd17LTUHl5XDNNdrYRjJizu18T1szexzo38JTM4DZzrkezcqud87t0I9gZgOdc6vMbATwJHCYc+6NtoKrqalxtbW1bRUT+dSWelj0Kmyuhzb+tmMtZVBa4pfvKGo2yqix0Q8lXbTI329q8p3Ihx4Kc+cme+SVtIuZLXTO1XTm/7Y5HdI5d/hODvyOmVU759aYWTWwtpXXWBV8X25mfwX2BNpMCCIdtm0E0kvL4MOP/QUz16RS0LMSxo3csRksnYa774Y99oDNm/1jhYVwxx1KBpKxTJuM5gCnBLdPAR7avoCZ9TSz4uB2b+DzwMsZHlekdem0/2Tdvyr3OptTKRjYd+ezskePhm9/+9Ma0MUXQ7/WWmtF2i/ThHA5cISZvQ4cHtzHzGrM7NagzK5ArZktAp4CLnfOKSFI1zKD0UNhxKDcSQopg9FDfMxtfdqfMePT29/7XtfGJXmjzT6EKKkPQULx3gfw8vJ4Nx+lUzB+NPSobP//2ZY0Yvweluzr0j4EkZxX1cOP1Fn0KjQ0QJyun4bvA9hjjN8lriNOOw0GDOiSsCQ/KSFIfigv9Z3Ni16DzVvi8al620iiPXbp3CJ2t98efkyS1xI6k0ekBcVFsPeu0D0GW3OmUtCjm6+5hLHMtUgIlBAkv2wbgdSnV3Qzm1Mp6N8bxufB/g6SU/TXKPnHDMYM80teZLumkDK/9tLoIZo3ILGjhCD5yYIL86ih2UsKqWCP6MEtTfwXiZ46lSW/Vff26wUt7eJhqamUbyLqqW0sJb5UQxDp3QN2H9117fnpNEwYo2QgsaeEIALQvdKvlpoOebXUgrTfB7qyHXsZiERMCUFkm8oyf/EOKylsW7q6fCd7GIjEiBKCSHPlpbBXCPsqFBbAnrv6iWciOUIJQWR7ZaWZNR9tayYqLQ43LpEupoQg0pLyUr++UEc7mtMpn0xUM5AcpIQg0prKsmA2cTvnKaRSfha0+gwkRykhiOxMz25+X4W2kkIqBbsOh24V2YlLpAsoIYi0pX9v/9VaUkilYFA/6L3DduIiOUUzlUXaY9QQ+HAjbNy043MVZX4ZDPnEO++8Q2NjY9RhJF46naZfiNunKiGItIeZ3+f4uSWfXeIinYJxI7RQ3XYaGxsZoM17utzq1atDfb2MEoKZnQBcgt83eaJzrsX9Ls1sMnAdkAZudc5dnslxRSJRUgzDquHN1dDkfFPRiMF+nwVp0eLFi6mrq4s6jMTauHEj99xzD3369OEb3/hGxq+XaQ3hJeBY4DetFTCzNHADcASwEnjOzOY4517O8Ngi2TewH7z1NjQ1+sln1b2jjijW6urqKC/Xsh1dpaGhgb59+7J27dpQXi+jTmXn3FLn3KttFJsILHPOLXfO1QN3AVMzOa5IZLZ1IAMMHaCmIkmUbIwyGgisaHZ/ZfBYi8xsupnVmlntunXrujw4kQ7r1d1/r+oebRwiIWuzycjMHgda2tFjhnPuobADcs7NAmYB1NTUxGAndJHtbBtVVKS9kCVZ2kwIzrnDMzzGKmBws/uDgsdEcpOZby4SSZhsNBk9B4w2s+FmVgScCMzJwnFFRKQDMkoIZjbNzFYC+wF/MrNHg8cHmNlcAOdcA3Am8CiwFLjHObcks7BFRCRsGQ07dc49ADzQwuOrgSnN7s8F5mZyLBER6Vpay0hERAAlBBERCSghiIgIoIQgIiIBJQQREQG0/LWIxMzY9VsoDHGNgq0Gr/Qs3mmZd999lyuvvJKXXnqJyspKqqqqOP/88xk2bNgOZT/88EPmzp3LiSeeGF6QMaEagojESpjJoD2v55zjnHPOoaamhrlz53L33Xdz9tln895777VY/qOPPuLuu+8ON8iYUA1BRPLas88+S0FBAV/96lc/eWzMmDHU1dVx+umn8+GHH9LQ0MD3v/99DjnkEK677jpWrlzJCSecwL777su5554bYfThUkIQkby2bNkyxo0bt8PjRUVFXHvttVRUVLB+/Xr+/d//nYMPPpizzz6b119/nXvvvTeCaLuWEoKISAucc8ycOZOFCxeSSqVYu3Ztq81ISaE+BBHJayNHjuTll3fcwHHu3LmsX7+eu+66i3vvvZeqqiq2bNkSQYTZo4QgInlt0qRJ1NfXc999933y2Guvvcbq1avp1asXhYWFPPvss59saF9eXp7YfaKVEEQkVraGvCtpW69nZlx77bXMnz+fKVOmMG3aNK677sGItSMAAAoASURBVDoOPPBAlixZwrHHHsvDDz/M8OHDAejRowcTJkxg2rRp/PKXvww32IipD0FEYqWtOQNdoW/fvlx99dU7PP7f//3fLZa/4oorujqkSKiGICIigBKCiIgElBBERARQQhARkUCmeyqfYGZLzKzJzGp2Uu5NM3vRzF4ws9pMjikiIl0j01FGLwHHAr9pR9lDnHPvZng8ERHpIhklBOfcUvDjeEVEwjD2kEMoDHGJiK1VVbzy1FM7LfP2229z2WWXsXz5cpqamjjooIM499xzKSwszOjYN954I2VlZZx66qkZvU62ZKsPwQGPmdlCM5uepWOKSA4KMxm05/Wcc/zwhz/k0EMP5ZFHHuHhhx9m06ZNzJw58zPlGhoaQo0rjtqsIZjZ40D/Fp6a4Zx7qJ3HOcA5t8rM+gLzzOwV59zTrRxvOjAdYMiQIe18eRGRzlmwYAFFRUV85StfASCdTvOjH/2Io446ioEDB/LMM89QV1dHU1MTN9xwA2edddYOS2IDzJkzh9mzZ2Nm7LLLLlx22WWfOc6KFSv4+c9/zvr16ykpKeGSSy75ZPZzXLSZEJxzh2d6EOfcquD7WjN7AJgItJgQnHOzgFkANTU1IW+VISLyWW+88cYOy19XVFRQXV1NY2MjS5cu5f7776d79+40NDS0uCT2G2+8wS233MKdd95Jz5492bBhww7H+elPf8pPfvIThg4dyuLFi/nZz37Gbbfdlq0fs126fOkKMysHUs65j4LbRwKXdvVxRUTCsN9++9G9e3eg9SWxn332WY444gh69uwJ8En5berq6li0aBHnnXfeJ4/V19dn74dop4wSgplNA34N9AH+ZGYvOOe+aGYDgFudc1OAfsADQcdzAfB759xfMoxbRCQUI0eOZN68eZ95bOPGjaxZs4Z0Ok1paeknjzdfEruwsJDJkye3a0nspqYmKisrY7+pTkadys65B5xzg5xzxc65fs65LwaPrw6SAc655c65PYKv3ZxzPw8jcBGRMEyaNInNmzczZ84cABobG7n66quZOnXqZ5IB+P2UW1oSe+LEicybN48PPvgAYIcmo4qKCgYOHMhjjz0G+JrGq6++2tU/WodpprKIxMrWqqqsvt625a8fe+wxvvzlL3P00UdTXFzMWWedtUPZL33pSy0uiT1q1ChOP/10TjvtNI4//niuuuqqHf7vL37xC/74xz9y/PHHM23aNJ5qYyhsFMy5+Pbb1tTUuNpaTWwWyTWrV69mwIABzJ8/n/Ly8qjDSawNGzbw1ltvsXbtWs455xwAzGyhc67VlSN2RjUEEREBlBBERCSghCAiIoASgoiIBJQQREQEUEIQEZGAEoKIiABKCCIiElBCEBERQAlBREQCSggiIgIoIYiISEAJQUREACUEEREJKCGIiAiQhT2VRST/pNNpVq9ezcaNG2loaIg6nMRqz/adHaGEICKh69evHwD33HMPffv2jTgaaa+MEoKZXQUcDdQDbwCnOec+aKHcZOA6IA3c6py7PJPjikhu6NOnD2vXro06jMTr06dPKK+T0RaaZnYk8KRzrsHMrgBwzv3ndmXSwGvAEcBK4Dnga865l9t6fW2hKSLSMZFtoemce8w5t62BcD4wqIViE4Flzrnlzrl64C5gaibHFRGR8IXZh/BN4O4WHh8IrGh2fyUwqbUXMbPpwPTg7hYzeym0CLtGb+DdqINoB8UZLsUZLsUZnjGd/Y9tJgQzexzo38JTM5xzDwVlZgANwO86G8g2zrlZwKzgdWs7W/XJllyIERRn2BRnuBRneMys0+3sbSYE59zhbRz8VODLwGGu5Q6JVcDgZvcHBY+JiEiMZNSHEIweOh84xjlX10qx54DRZjbczIqAE4E5mRxXRETCl+lM5euBSmCemb1gZjcDmNkAM5sLEHQ6nwk8CiwF7nHOLWnn68/KML5syIUYQXGGTXGGS3GGp9MxZjTsVEREkkNrGYmICKCEICIigVglBDO7ysxeMbPFZvaAmfVopdxkM3vVzJaZ2QVZjvEEM1tiZk1m1urwMzN708xeDPpWsj7dugNxRnYug+P3MrN5ZvZ68L1nK+Uag3P5gpllbVBCW+fHzIrN7O7g+QVmNixbsW0XR1txnmpm65qdw9MjiPF2M1vb2twi82YGP8NiM9sr2zEGcbQV58FmtqHZubwoghgHm9lTZvZy8D4/u4UyHT+fzrnYfAFHAgXB7SuAK1ook8avmzQCKAIWAeOyGOOu+IkffwVqdlLuTaB3hOeyzTijPpdBDFcCFwS3L2jpdx48tzGCc9jm+QG+C9wc3D4RuDumcZ4KXJ/t2LaL4SBgL+ClVp6fAvwZMGBfYEFM4zwYeCTic1kN7BXcrsQvD7T977zD5zNWNQSXA0thOOeWOudezdbxOqudccZhWZGpwOzg9mzgK1k+/s605/w0j/8+4DAzsyzGCPH4PbbJOfc08P5OikwF7nTefKCHmVVnJ7pPtSPOyDnn1jjnng9uf4QfwTlwu2IdPp+xSgjb+SY+u22vpaUwtj8RceCAx8xsYbAcRxzF4Vz2c86tCW6/DfRrpVyJmdWa2Xwzy1bSaM/5+aRM8GFmA1CVlehaiCHQ2u/xuKDp4D4zG9zC81GLw99je+1nZovM7M9mtluUgQTNlHsCC7Z7qsPnM+v7IWR7KYzOaE+M7XCAc26VmfXFz9N4JfjkEZqQ4uxyO4uz+R3nnDOz1sZBDw3O5wjgSTN70Tn3RtixJtjDwB+cc1vM7D/wtZpDI44pVz2P/3vcaGZTgAeB0VEEYmYVwP3AOc65DzN9vawnBJcDS2G0FWM7X2NV8H2tmT2Ar9aHmhBCiDMry4rsLE4ze8fMqp1za4LqbIuL5zc7n8vN7K/4T0RdnRDac362lVlpZgVAd+C9Lo5re23G6ZxrHtOt+L6buMmJZW6aX3idc3PN7EYz6+2cy+qid2ZWiE8Gv3PO/bGFIh0+n7FqMrKELIVhZuVmVrntNr6zPI6rtsbhXM4BTglunwLsULMxs55mVhzc7g18HmhzP40QtOf8NI//ePz+INme7dlmnNu1HR+Db3OOmznAycHomH2BDc2aE2PDzPpv6ycys4n462hWPwQEx78NWOqcu6aVYh0/n1H2lLfQc74M3+b1QvC1bfTGAGDudr3nr+E/Ic7IcozT8G1xW4B3gEe3jxE/2mNR8LUk2zG2N86oz2Vw/CrgCeB14HGgV/B4DX53PYD9gReD8/ki8K0sxrfD+QEuxX9oASgB7g3+dp8FRmT7HLYzzl8Ef4uLgKeAsRHE+AdgDbA1+Nv8FnAGcEbwvAE3BD/Di+xkFF/EcZ7Z7FzOB/aPIMYD8P2Ui5tdL6dkej61dIWIiAAxazISEZHoKCGIiAighCAiIgElBBERAZQQREQkoIQgIiKAEoKIiAT+P7rsOmY8z5f4AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "t = np.linspace(0, math.pi, 1000)\n",
    "x = np.sin(t)\n",
    "y = np.cos(t) + np.power(x, 2.0/3)\n",
    " \n",
    "fig, ax = plt.subplots()\n",
    "ax.fill_between(x, 0, y, color='pink', label='Cat')\n",
    "ax.fill_between(-x, 0, y, color='pink')\n",
    "ax.fill_between(x+0.4, 0, y+0.4, color='red', label='Oracle')\n",
    "ax.fill_between(-x+0.4, 0, y+0.4, color='red')\n",
    "plt.axis([-2, 2, -2, 2])\n",
    "#plt.xticks([])\n",
    "#plt.yticks([])\n",
    " \n",
    "plt.legend(loc='lower right', fancybox=False, framealpha=0.5, shadow=True, borderpad=1.5)\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 画个圆"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,ax = plt.subplots()\n",
    "\n",
    "#圆心\n",
    "xy1 = np.array([0,0])\n",
    "\n",
    "#圆形\n",
    "circle = mpathes.Circle(xy1,0.25,color='b')\n",
    "ax.add_patch(circle)\n",
    "\n",
    "##XY坐标\n",
    "plt.axis('equal')\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 画个矩形"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,ax = plt.subplots()\n",
    "xy2 = np.array([0.2,0.8])\n",
    "\n",
    "rect = mpathes.Rectangle(xy2,0.2,0.8,color='r')\n",
    "ax.add_patch(rect)\n",
    "\n",
    "xy3 = np.array([0.4,0.8])\n",
    "rect1 = mpathes.Rectangle(xy3,0.2,0.5,color='r')\n",
    "ax.add_patch(rect1)\n",
    "\n",
    "plt.axis('equal')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 画个多边形"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAD4CAYAAADlwTGnAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3de3RV5Z3/8fc3JxeSAAoSreWuRbkqTiPaqngZtaBTQBENiELrqp22VKudmdrlzPxaqtXW1WmnM3RGrRqQm4iiaEG03qqttETljmhEKwEr8YJA7pfv74+zwxxiQk7ISXbOOZ/XWmdl72df8n1ycvb37Gfv/Tzm7oiISPrJCDsAEREJhxKAiEiaUgIQEUlTSgAiImlKCUBEJE1lhh1Ae/Tr18+HDBkSdhgiIknl1Vdf/dDdC5qXJ1UCGDJkCCUlJWGHISKSVMzsry2VqwlIRCRNKQGIiKQpJQARkTSlBCAikqaUAERE0lRcCcDMJpjZdjMrNbNbWlj+j2a2yczWm9nLZjYyZtkPg+22m9lX4t2niIh0rjYTgJlFgHnARGAkMD32AB9Y7O5j3H0s8HPgP4JtRwJFwChgAvAbM4vEuU8REelE8ZwBjANK3X2Hu9cCS4HJsSu4+76Y2XygqY/pycBSd69x93eA0mB/be5TJFl8XPUxW/ZsQV2rS7KJ50Gw/sDOmPky4IzmK5nZd4CbgWzggpht1zbbtn8w3eY+g/1eD1wPMGjQoDjCFel8eyr28Ngbj/HA6w/w+t9eJ5IRoWdWT4pGFzF9zHTG9R9HhukSm3RvCXsS2N3nAfPMbAbwr8CsBO33HuAegMLCQn3FktDs2reLR7Y9QvH6YraWbyWSEaGyrjK6sAEq6yqZt24eD6x/gMyMTKaNmsaM0TM4e9DZRDIi4QYv0oJ4EsAuYGDM/ICgrDVLgf+JY9v27FMkFO/ufZflW5dTvL6Y0o9LybAMquqrogsbPrt+gzewv3Y/AL997bcs2bQEM2PK8CnMHDOT84acR1YkqwtrINK6eBLAOmCYmQ0lepAuAmbErmBmw9z9rWD2UqBpeiWw2Mz+A/g8MAz4C2Bt7VMkLNs/3M7DWx9m/ob5lO0rA6C6vrrd+2n0xoPJ4MEND7Ji2woavZFLT7qUa065hotOuIiczJyExi7SHm0mAHevN7M5wBogAtzv7lvMbC5Q4u4rgTlmdiFQB3xC0PwTrLcM2ArUA99x9waAlvaZ+OqJtM3d2bxnMw9teYiFGxeyp2IPjd5ITUNN4n4HfjAZLNuyjKdKn6KuoY6LT7yYa0+9lglfmEBeVl7Cfp9IPCyZ7lwoLCx09QYqieDuvPr+qyzdvJTFmxbzac2n1DXUUddY1+Wx9MruRW1DLecNOY9Zp87i0pMupXdO7y6PQ1KXmb3q7oXNy5OqO2iRjmj0RtaWrWXJpiUs3bKUqroqahpqqG+sDzWupjODNW+v4U87/0RtQy1fGvAlZo+dzaSTJ9Ent0+o8Unq0hmApLSGxgZeeu8lFm1cxPJty2lobKCyrpIGb+EKbjfTM6sndY11nHb8aXx97NeZMnwKBfmfGdNDpE2tnQEoAUjKqWuo47l3nmPhpoU8/sbjAFTUVdDojSFHduTys/Kpb6xn1LGjmH3qbKaOnMrne30+7LAkSSgBSEqrrq/mmbef4cGND/K7t35HxCIcqD2Akzz/3/HKy8qjobGBYX2HMXtsNBkMOXpI2GFJN6YEICmnoraC1aWrWbBhAc/seIasjKyD7enpokdmDwAG9h7IrFNnMW3UNE465qSQo5LuRglAUsK+mn08+eaTzF8/nxf/+iLZkey0O+i3JieSQ4ZlcFz+cVxz6jVcOepKRhWMwszCDk1CpgQgSevjqo95/I3HKV5fzNpda8mJ5Oig34bsSDaZGZkc3eNoZoyZQdGoIv7u+L9TMkhTSgCSVD448EG0s7X10c7WsiPZHKg9EHZYSSkzI5OcSA55WXnRzupGT+eMAWeos7o0ogQg3V7ZvjIe2foIxRuK2Va+jcyMTCrqKsIOK6VELEJuVi5ZGVlcMfIKZoyZwTmDzlFndSlOCUC6pXc+eedgvztvf/z2oZ2tSafKsAzys/IBop3VnTKT84ecr87qUpASgHQbb3z4Bg9veZgFGxZQtr8MHKob2t/ZmiSOYfTM7kmDN3DpsKCzuhMvOniXkSQ3dQUhoXF3Nu3ZxEObH2LhpoWUV5QnvLM16ZjYzuoe3vowa95eQ11DHRedcNHBzurys/NDjlISTQlAOs0HBz7grj/dxaJNi9hfs5/ahtpQOluT9ttXEx3ldeWbK3n+3eepbajl3MHn8r0zv8fEYRNDjk4SRQlAOkVDYwOXLL6EjR9sDL2zNemYpjODp3c8zUvvvcQz1zzDWYPOCjkqSQTdByad4kcv/Ig3PnxDB/8UU1VfxWUPXcbe6r1hhyIJoAQgCffyey/zi1d+8X/j5UpK2Vezj5mPziSZbiCRlsWVAMxsgpltN7NSM7ulheU3m9lWM9toZs+a2eCg/HwzWx/zqjazKcGyYjN7J2bZ2MRWTcLwSdUnXPbQZbqVM4XVNNTwwrsvcO9r94YdinRQmwnAzCLAPGAiMBKYbmYjm632OlDo7qcAy4GfA7j78+4+1t3HAhcAlcDTMdv9c9Nyd1/f8epImNydqx+9+uAFREldFXUV3LTmJraVbws7FOmAeM4AxgGl7r7D3WuBpcDk2BWCA33T+f5aYEAL+7kCWB2znqSYu1+9mz/89Q/UNtSGHYp0gaq6Kr665KtU1+sZjmQVTwLoD+yMmS8LylpzHbC6hfIiYEmzstuDZqNfmllOSzszs+vNrMTMSsrLy+MIV8KwZc8Wvv/099V1QxpxnN37d3Pj6hvDDkWOUEIvApvZTKAQuKtZ+fHAGGBNTPEPgeHA6UBf4Act7dPd73H3QncvLCjQcHjdUVVdFZOWTqKqTu3+6aaqvoqFmxbyxPYnwg5FjkA8CWAXMDBmfkBQdggzuxC4FZjk7s0f8bwSWOHuB58Ccvf3PaoGeIBoU5Mkoe+u/i7v738/JUffkrZV1lUyc8VMdu37zGFBurl4EsA6YJiZDTWzbKJNOStjVzCz04C7iR7897Swj+k0a/4JzgqwaAflU4DN7Q9fwvb4G4+zZPMS3fWT5irrKrn8octpaGwIOxRphzYTgLvXA3OINt9sA5a5+xYzm2tmk4LV7gJ6Ag8Ht3QeTBBmNoToGcSLzXa9yMw2AZuAfsBtHayLdLGyfWVcs+Ia3e8v1DfWs7l8M7e/dHvYoUg7qDdQOSINjQ2ced+ZrP/bej3tKwflZuby7LXP8qWBXwo7FInRWm+gehJYjsjcF+eytXyrDv5yiKr6KqY8NEVdRSQJJQBptz++90fu+tNdavqRFn1a/SnXrrhWXUUkASUAaZe91XvV1YMcVk1DDc+98xz3vX5f2KFIG5QAJG7uzsxHZ6qrB2lTRV0FNz51I298+EbYochhKAFI3O597V6ef/d5jeQlcVFXEd2fEoDEZVv5Nr731PfU7i9xc5xd+3Zx01M3hR2KtEIJQNpUXV+tb3JyRKrqq1iwcQFPvvlk2KFIC5QApE03rr6R3ft3q6sHOSKVdZVc/ejV7N6/O+xQpBklADmsJ7Y/wcJNC3XXj3SIuoronpQApFW79u1i5oqZaveXDqtvrGfzns389OWfhh2KxFACkBY1NDZw+UOX6+AvCVNRV8EdL93B2rK1YYciASUAadHtL93O5vLN6upBEqqqvoopS6fwafWnYYciKAFIC17Z+Qp3vnynvv1Lp9hbvZdZj81SVxHdgBKAHGJv9V6mPDRFF32l09Q01PDMjmd4YP0DYYeS9pQA5CB359oV1+r0XDpdZV0l3139XbZ/uD3sUNKaEoAcdN/r9/HsO8+qqwfpEtX11UxaOomaev2/hSWuBGBmE8xsu5mVmtktLSy/2cy2mtlGM3vWzAbHLGsIRglrPlLYUDP7c7DPh4LhJiUkb3z4Bjc+daPa/aXLNHojOz/dyc1rbg47lLTVZgIwswgwD5gIjASmm9nIZqu9DhS6+ynAcuDnMcuq3H1s8JoUU/4z4Jfu/gXgE+C6DtRDOqCpq4eqOrX7S9eqqq+ieEMxq95aFXYoaSmeM4BxQKm773D3WmApMDl2BXd/3t2bvjquBQYcbofBQPAXEE0WAPOJDgwvIbjpqZvYtW+XunqQUFTWVTLjkRm8v//9sENJO/EkgP7Azpj5sqCsNdcBq2Pme5hZiZmtNbOmg/wxwN5gwPnD7tPMrg+2LykvL48jXGmPJ998kgUbF+iuHwlVRV0FU5dNpdEbww4lrST0IrCZzQQKgbtiigcHgxHPAH5lZie2Z5/ufo+7F7p7YUFBQQKjld37d3P1o1er3V9CV99Yz8YPNnLny3eGHUpaiScB7AIGxswPCMoOYWYXArcCk9z94GV9d98V/NwBvACcBnwEHG1mmYfbp3Sepq4e1O4v3UVFXQW3/eE2/rLrL2GHkjbiSQDrgGHBXTvZQBGwMnYFMzsNuJvowX9PTHkfM8sJpvsBZwFbPfoI4PPAFcGqs4DHO1oZid8dL9/B5j2bqWusCzsUkYOq6quYvHSyhh3tIm0mgKCdfg6wBtgGLHP3LWY218ya7uq5C+gJPNzsds8RQImZbSB6wL/T3bcGy34A3GxmpUSvCWgE6S6ytmwtP33pp1TUVYQdishn7K3ey+zHZquriC5gyfRHLiws9JKSkrDDSGqfVn/Kyf99Mh9UfBB2KCKtys/K578v+W9mj50ddigpwcxeDa7FHkJPAqcRd2fWY7PYW7037FBEDquiroLvrPoOb370ZtihpDQlgDTywPoH+P2O36urB0kK1fXVTFoyidqG2rBDSVlKAGli+4fb+e7q76rdX5JGU1cR33/6+2GHkrKUANJATX0Nk5ZOorq+OuxQRNqlsr6S+167j6dKnwo7lJSkBJAGbl5zM2X7yvSUpSSlqvoqipYX8bcDfws7lJSjBJDiVr21iuINxXraV5JaZV0l05ZN05eYBFMCSGHv73+fGY/M0MFfkl5dYx2v/+11fv7Hn7e9ssRNCSBFNXojU5dN1UVfSRkVdRXMfXEu63atCzuUlKEEkKLufPlONn6wkfrG+rZXFkkSTV1F7K/ZH3YoKUEJIAX9ZddfuO0Pt+nbv6SkT6o+4esrvx52GClBCSDF7KvZx+Slk9W/v6Ss6oZqVr21igUbFoQdStJTAkgh7s7sx2arqwdJeZV1lXz7d9+m9OPSsENJakoAKeTPu/7M028/rQe+JC1U1Vdxw+obwg4jqSkBpJB9NfvIzMhse0WRFNDojXxU9VHYYSQ1JQARkTQVVwIwswlmtt3MSs3slhaW32xmW81so5k9a2aDg/KxZvaKmW0Jll0Vs02xmb0TDCCz3szGJq5aIiLSljYTgJlFgHnARGAkMN3MRjZb7XWg0N1PAZYDTY/rVQLXuvsoYALRQeGPjtnun919bPBa38G6iIhIO8RzBjAOKHX3He5eCywFJseu4O7Pu3tTfwNriQ7yjru/6e5vBdO7gT1AQaKCFxGRIxdPAugP7IyZLwvKWnMdsLp5oZmNA7KBt2OKbw+ahn7ZNHh8C9tdb2YlZlZSXl4eR7giIhKPhF4ENrOZQCHRQeJjy48HHgS+5n6wO78fAsOB04G+RAeJ/wx3v8fdC929sKBAJw8iIokSTwLYBQyMmR8QlB3CzC4EbgUmuXtNTHlv4HfAre6+tqnc3d/3qBrgAaJNTSIi0kXiSQDrgGFmNtTMsoEiYGXsCmZ2GnA30YP/npjybGAFsMDdlzfb5vjgpwFTgM0dqYiIiLRPm08NuXu9mc0B1gAR4H5332Jmc4ESd19JtMmnJ/Bw9HjOe+4+CbgSGA8cY2azg13ODu74WWRmBYAB64F/TGzVRETkcOJ6bNTdVwGrmpX9e8z0ha1stxBY2MqyC+IPU0REEk1PAouIpCklABGRNKUEICKSppQARETSlBKAiEiaUgIQEUlTSgAiImlKCUBEJE0pAYiIpCklABGRNKUEICKSppQARETSlBKAiEiaUgIQEUlTSgAiImlKCUBEJE3FlQDMbIKZbTezUjO7pYXlN5vZVjPbaGbPmtngmGWzzOyt4DUrpvyLZrYp2Oevg6EhRUSki7SZAMwsAswDJgIjgelmNrLZaq8Dhe5+CrAc+HmwbV/g/wFnEB30/f+ZWZ9gm/8BvgEMC14TOlwbERGJWzxnAOOAUnff4e61wFJgcuwK7v68u1cGs2uBAcH0V4Bn3P1jd/8EeAaYEAwI39vd17q7AwuIDgwvIiJdJJ4E0B/YGTNfFpS15jpgdRvb9g+m29ynmV1vZiVmVlJeXh5HuCIiEo+EXgQ2s5lAIXBXovbp7ve4e6G7FxYUFCRqtyIiaS+eBLALGBgzPyAoO4SZXQjcCkxy95o2tt3F/zUTtbpPERHpPPEkgHXAMDMbambZQBGwMnYFMzsNuJvowX9PzKI1wMVm1ie4+HsxsMbd3wf2mdmZwd0/1wKPJ6A+IiISp8y2VnD3ejObQ/RgHgHud/ctZjYXKHH3lUSbfHoCDwd3c77n7pPc/WMz+wnRJAIw190/Dqa/DRQDuUSvGaxGRES6TJsJAMDdVwGrmpX9e8z0hYfZ9n7g/hbKS4DRcUcqIiIJpSeBRUTSlBKAiEiaUgIQEUlTSgAiImlKCUBEJE0pAYiIpCklABGRNKUEICKSppQARETSlBKAiEiaUgIQEUlTSgAiImlKCUBEJE0pAYiIpCklABGRNKUEICKSpuJKAGY2wcy2m1mpmd3SwvLxZvaamdWb2RUx5eeb2fqYV7WZTQmWFZvZOzHLxiauWiIi0pY2RwQzswgwD7gIKAPWmdlKd98as9p7wGzgn2K3dffngbHBfvoCpcDTMav8s7sv70gFRETkyMQzJOQ4oNTddwCY2VJgMnAwAbj7u8GyxsPs5wpgtbtXHnG0IiKSMPE0AfUHdsbMlwVl7VUELGlWdruZbTSzX5pZTksbmdn1ZlZiZiXl5eVH8GtFRKQlXXIR2MyOB8YAa2KKfwgMB04H+gI/aGlbd7/H3QvdvbCgoKDTYxURSRfxJIBdwMCY+QFBWXtcCaxw97qmAnd/36NqgAeINjWJiEgXiScBrAOGmdlQM8sm2pSzsp2/ZzrNmn+CswLMzIApwOZ27lNERDqgzQTg7vXAHKLNN9uAZe6+xczmmtkkADM73czKgGnA3Wa2pWl7MxtC9AzixWa7XmRmm4BNQD/gto5XR0RE4hXPXUC4+ypgVbOyf4+ZXke0aailbd+lhYvG7n5BewKVtmVHsmnwhrDDEOkyuZm5YYeQ1PQkcAo5Z9A5DO83nMyMuPK6SFLLzczljr+/I+wwkpoSQAqJZERYcdUKfSuSlJeflc8tZ9/ClwZ+KexQkpoSQIoZ0HsAD172IHlZeWGHItIpMjMyGXXsKG4959awQ0l6SgApaPLwycwYPUNnApKS8rLyePTKR4lkRMIOJekpAaSoX0/8Ncf3Oh7Dwg5FJGHysvJYeNlC+vc+ks4IpDklgBSVm5XLE9OfIDdLZwGSGnIzc5k5ZiZfPfmrYYeSMpQAUtjIgpH84uJfkJ+VH3YoIh1iGJ/v9Xn+c+J/hh1KSlECSHHf/OI3GT94PDmRFvvaE0kKPTJ78MT0J+iR2SPsUFKKEkCKMzMWXb6IXjm9wg5F5IjkZ+Xzqwm/YkTBiLBDSTlKAGmgT24fPR8gSSknksN5Q87jG3/3jbBDSUlKAGni7EFn8/0vfV/PB0hS6Z3Tm4WXLyTaZ6QkmhJAGvnReT9iRL8R6ipCkkJuZi6PFT3G0T2ODjuUlKUEkEbUVYQki/ysfP7lrH/hywO/HHYoKU0JIM0MPGog86fMV1OQdFuZGZmMKBjBv43/t7BDSXlKAGnoshGXcdWoq3QmIN1SbmYuK65aoa4eukBcCcDMJpjZdjMrNbNbWlg+3sxeM7N6M7ui2bIGM1sfvFbGlA81sz8H+3woGG1Musi8S+ZxXM/j1FWEdCt5WXk8eNmDDOjd4vAikmBtJgAziwDzgInASGC6mY1sttp7wGxgcQu7qHL3scFrUkz5z4BfuvsXgE+A644gfjlCB7uK0FmAdBO5mbnMGD2DycMnhx1K2ojnDGAcUOruO9y9FlgKHPIOufu77r4RaIznlwbjAF8ALA+K5hMdF1i60OhjR3PXxXepqwgJnWEc3+t4fj3x12GHklbiSQD9gZ0x82W0MMTjYfQwsxIzW2tmTQf5Y4C9wXjDh92nmV0fbF9SXl7ejl8r8fhW4bc4e9DZ6ipCQqXOC8PRFReBB7t7ITAD+JWZndiejd39HncvdPfCgoKCzokwjZkZi6cupmd2z7BDkTSVn5XPLy7+BSMLmrcsS2eLJwHsAgbGzA8IyuLi7ruCnzuAF4DTgI+Ao82s6Ymkdu1TEqtvbl8evepRXQ+QLpcTyWH84PF884vfDDuUtBRPAlgHDAvu2skGioCVbWwDgJn1MbOcYLofcBaw1d0deB5oumNoFvB4e4OXxBk/eDw3nXmTng+QLtUrpxeLLl+krh5C0mYCCNrp5wBrgG3AMnffYmZzzWwSgJmdbmZlwDTgbjPbEmw+Aigxsw1ED/h3uvvWYNkPgJvNrJToNYH7Elkxab8fn/9jTj7mZCKm+6+l8zXd798nt0/YoaQti34ZTw6FhYVeUlISdhgp7b1P32PUb0ZxoPZA2KFICsvLyuPmM2/mJxf8JOxQ0oKZvRpciz2EngSWQww6ahDFk4vVFCSdJjMjkxH9RvCj834UdihpTwlAPmPqyKlMGzlNF4WlU6irh+5DCUBa9JtLf8Ox+ceqqwhJqLysPOZPmc/Aowa2vbJ0OiUAaVFeVp7GYJWEys3M5apRV3HZiMvCDkUCSgDSqjHHjeFnF/1MXUVIhxnGcT2PY94l88IORWIoAchhzTl9Dl8e+GWyI+qsVY5cbqa6euiOlADksMyMJVOX0Cu7V9ihSJLKz8rnrovvYvSxo8MORZpRApA2HZN3DI9c+YjuCpJ2y4nkcPags/lW4bfCDkVaoAQgcTl3yLnccMYNej5A2qVndk8WT12srh66KSUAidttF9zGsL7D1FWExCU3M5dHr3qUvrl9ww5FWqEEIHHLzMjk8aLHdSFP2pSXlcdNZ97E+MHjww5FDkMJQNpl8NGDuX/S/WoKklZFLMLJx5zMj8//cdihSBuUAKTdpo2axtQRU3VRWFqUm5XLY0WPkZmR2fbKEiolADki//sP/0tBfoG6ipBD5GXlUTy5mEFHDQo7FImDEoAckbysPFYWrVRXEXJQbmYu00ZOY+rIqWGHInFSApAjdurnTuWOC+9QVxGCYRybfyy/ufQ3YYci7RBXAjCzCWa23cxKzeyWFpaPN7PXzKzezK6IKR9rZq+Y2RYz22hmV8UsKzazd8xsffAam5gqSVe6YdwNnDngTHUVkeZ6ZPbgielP6OaAJNNmAjCzCDAPmAiMBKab2chmq70HzAYWNyuvBK5191HABOBXZnZ0zPJ/dvexwWv9EdZBQmRmLL1iKT2ze4YdioQkPyufn130M8YcNybsUKSd4jkDGAeUuvsOd68FlgKTY1dw93fdfSPQ2Kz8TXd/K5jeDewBChISuXQb/fL6sXzact0VlIayI9l8eeCXmXP6nLBDkSMQTwLoD+yMmS8LytrFzMYB2cDbMcW3B01DvzSznFa2u97MSsyspLy8vL2/VrrI+UPPZ864OWoCSDM9s3uyZOoSdfWQpLrkIrCZHQ88CHzN3ZvOEn4IDAdOB/oCP2hpW3e/x90L3b2woEAnD93Z7Rfczhf6fkFdRaSJ3MxcHr3yUY7JOybsUOQIxZMAdgGx47cNCMriYma9gd8Bt7r72qZyd3/fo2qAB4g2NUkSy4pkRbuKUFNQysvLyuOGM27g3CHnhh2KdEA8CWAdMMzMhppZNlAErIxn58H6K4AF7r682bLjg58GTAE2tydw6Z6GHD2Eeyfdq6agFBaxCMP6DuO2C24LOxTpoDYTgLvXA3OANcA2YJm7bzGzuWY2CcDMTjezMmAacLeZbQk2vxIYD8xu4XbPRWa2CdgE9AP035QiikYXMWX4FD0klqJys3J5vOhxdfWQAszdw44hboWFhV5SUhJ2GBKHitoKhs8bTtm+srBDkQRq6uph2qhpYYci7WBmr7p7YfNyPQksnSI/O5+nZz7N3w/9e3IiORpSMollR7LJzcxlYO+B/OT8n+jgn0J0DiedZkTBCH5/7e85UHuAVW+tYv6G+Tz3znNkZWSxv3Z/2OHJYfSI9MDM+Hyvz3Ptqddy5agrGd5veNhhSYKpCUi6VFVdFWveXsODGx5kdenqg8nASZ7/w1SVm5lLozdyQp8TmHXqLKaNmsYJfU4IOyxJgNaagHQGIF0qNyuXKcOnMGX4FGobanl2x7Ms3LiQlW+uxDAq6ipo9Ma2dyQJkZeVR0NjAyMKRjD71NlcPuJyBh41sO0NJSUoAUhosiPZTBw2kYnDJlLfWM+L777Iok2LeHTbozR6I5V1lTR4Q9hhppz8rHzqG+s59XOn8rWxX2PK8Cl8rufnwg5LQqAmIOl2GhobeKXsFRZvWsyyLcuoaaihuq6aeq8PO7Sk1TO7J7UNtZzZ/0xmj53NpJMn6QneNNJaE5ASgHRr7s663etYunkpizct5kDtAWobaqlrrAs7tG6vV3YvahtqGT94PLNOncU/nPQPHNXjqLDDkhAoAUjSc3c2frCRh7Y8xMKNC/mo6iPqG+upbagNO7Ruo1d2L+oa67jwhAuZdeosJn5hIvnZGrAn3SkBSMrZVr6NZVuWsWDjAnbv3w1AdX11yFF1LcPomd2TBm/gki9cwjWnXsPFJ16sp7DlEEoAktLe/vhtlm9dTvGGYt7d+y6GUVVfFXZYnSLDMg4Owzl5+GRmjpnJ+UPP16hs0iolAEkbOz/dySPbHqF4fTFvfPgGkYwIlXWVYYfVIRGLkJeVR8QiTB05lavHXM05g89RfzwSFyUASUt/O/A3VmxbwQPrH2DDBxvIysiioq4i7LDikpmRSY/MHuREcigaXcSMMdR9t4YAAAdrSURBVDM4c8CZZJh6cJH2UQKQtPdh5Yes3L6S4vXF/HnXn8mOZHOg9kDYYR0iKyOL7Eg2vXN6M2PMDIpGF/HF47+oEbekQ5QARGLsrd7Lk28+SfH6Yl5+72WyI9mh9U+UE8khwzIoyC9g5piZFI0uYvSxo3XQl4RRAhBpxYHaA6x+azXzN8zn2Xee7ZLO6npEeoDBgN4DuPaUaGdrJ/c7uVN/p6QvJQCROFTVVfH020/z4MZoZ3WZGZnsr0lMZ3VNna2d2PfEaGdrI6cxtM/QBEQtcngd6gzOzCYA/wlEgN+6+53Nlo8HfgWcAhTFDv9oZrOAfw1mb3P3+UH5F4FiIBdYBdzoyZSNJCXlZuUyefhkJg+fTG1DLc+981y0s7rt0VFQ29tZXVNnayMLRjJ7bLSztQG9B3RW+CLt0uYZgJlFgDeBi4AyomMET3f3rTHrDAF6A/8ErGxKAGbWFygBCgEHXgW+6O6fmNlfgBuAPxNNAL9299WHi0VnABKW+sZ6/vDXP7Bo0yIe2foIjd7YajJo6mxt7OfGHuxs7biex4UQtUhUR84AxgGl7r4j2NFSYDJwMAG4+7vBsuafhq8Az7j7x8HyZ4AJZvYC0Nvd1wblC4gODH/YBCASlsyMTC4YegEXDL2Ae796L6/sfIUlm5ewdPNSahpqMIzahlrOGHAGXxv7NSadPIm+uX3DDlvksOJJAP2BnTHzZcAZce6/pW37B6+yFso/w8yuB64HGDRoUJy/VqTzZFgGZw06i7MGncV/TfwvSnaX8NdP/8rFJ15M75zeYYcnErdu/xihu98D3APRJqCQwxE5hJlxev/TOb3/6WGHItJu8TxSuAuIHSJoQFAWj9a23RVMH8k+RUQkAeJJAOuAYWY21MyygSJgZZz7XwNcbGZ9zKwPcDGwxt3fB/aZ2ZkWfdrlWuDxI4hfRESOUJsJwN3rgTlED+bbgGXuvsXM5prZJAAzO93MyoBpwN1mtiXY9mPgJ0STyDpgbtMFYeDbwG+BUuBtdAFYRKRL6UEwEZEU19ptoOpWUEQkTSkBiIikKSUAEZE0pQQgIpKmkuoisJmVA39N0O76AR8maF9hSYU6QGrUIxXqAKlRD9Xhswa7e0HzwqRKAIlkZiUtXRVPJqlQB0iNeqRCHSA16qE6xE9NQCIiaUoJQEQkTaVzArgn7AASIBXqAKlRj1SoA6RGPVSHOKXtNQARkXSXzmcAIiJpTQlARCRNpVwCMLMJZrbdzErN7JZW1rnSzLaa2RYzWxxT3mBm64NXvF1ed4q26mFmv4yJ9U0z2xuzbJaZvRW8ZnVt5IfE2JE6JNN7McjMnjez181so5ldErPsh8F2283sK10b+SExHlEdzGyImVXFvBf/2/XRHxJnW/UYbGbPBnV4wcwGxCxLls/F4eqQ2M+Fu6fMC4gQ7Vr6BCAb2ACMbLbOMOB1oE8wf2zMsgNh1yHeejRb/7vA/cF0X2BH8LNPMN0nmeqQbO8F0Qt23wqmRwLvxkxvAHKAocF+IklWhyHA5rDfh3bU42FgVjB9AfBgMJ00n4vW6hDMJ/RzkWpnAAcHsHf3WqBpAPtY3wDmufsnAO6+p4tjjEc89Yg1HVgSTH8FeMbdPw7q+AwwoVOjbVlH6tCdxFMPB5oGAz4K2B1MTwaWunuNu79DdOyLcV0Qc3MdqUN3Ek89RgLPBdPPxyxPps9Fa3VIuFRLAK0NQh/rJOAkM/ujma01s9h/gh5mVhKUT+nsYA8jnnoA0dNFot8um/5h4t62k3WkDpBc78WPgJnBoEiriJ7NxLttV+hIHQCGBk1DL5rZOZ0a6eHFU48NwOXB9GVALzM7Js5tu0JH6gAJ/lykWgKIRybRZqDziH7rvNfMjg6WDfbo49czgF+Z2YnhhNguRcByd28IO5AOaKkOyfReTAeK3X0AcAnwoJkl22ertTq8Dwxy99OAm4HFZtb7MPsJ2z8B55rZ68C5RMcaT7bPxuHqkNDPRbL9k7YlngHsy4CV7l4XnJa/STQh4O67gp87gBeA0zo74FbEU48mRRzadNKebTtTR+qQbO/FdcAyAHd/BehBtDOvZHovWqxD0Hz1UVD+KtH265M6PeKWtVkPd9/t7pcHCevWoGxvPNt2kY7UIfGfi66+CNKZL6Lf7ncQbU5ousAyqtk6E4D5wXQ/oqdjxxC9MJQTU/4Wh7loGXY9gvWGA+8SPNAXlPUF3gnq0yeY7ptkdUiq94LoeNazg+kRRNvPDRjFoReBdxDOReCO1KGgKWaiFy53hfH/1I569AMygunbiY5DnlSfi8PUIeGfiy5/E7vgD3wJ0W/1bwO3BmVzgUnBtAH/AWwFNgFFQfmXg/kNwc/runM9gvkfAXe2sO3XiV5wLAW+lmx1SLb3guhFuz8G8a4HLo7Z9tZgu+3AxGSrAzAV2BKUvQZ8tZu/F1cEB8Y3gd82HTCDZUnxuWitDp3xuVBXECIiaSrVrgGIiEiclABERNKUEoCISJpSAhARSVNKACIiaUoJQEQkTSkBiIikqf8PXtsGoY7D2PcAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,ax = plt.subplots()\n",
    "\n",
    "xy3 = np.array([0.8,0.2])\n",
    "\n",
    "#多边形\n",
    "polygon = mpathes.RegularPolygon(xy3,10,0.1,color='g')\n",
    "ax.add_patch(polygon)\n",
    "\n",
    "\n",
    "plt.axis('equal')\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 画个椭圆"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,ax = plt.subplots()\n",
    "\n",
    "xy4 = np.array([0.8,0.8])\n",
    "\n",
    "#椭圆形\n",
    "#(xcenter, ycenter), width, height,angle=angle\n",
    "ellipse = mpathes.Ellipse(xy4,0.96,0.6,0)\n",
    "ax.add_patch(ellipse)\n",
    "\n",
    "plt.axis('equal')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 画个正弦曲线图Sin"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7efdff5dc4e0>]"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#范围0~2π,共100等分\n",
    "X = np.linspace(-10*math.pi,10*math.pi,1000)\n",
    "Y = np.sin(X)\n",
    "\n",
    "# #传入数据\n",
    "plt.plot(X,Y,color='b')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 来个三角函数全家福"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/lib/python3.6/site-packages/ipykernel_launcher.py:5: RuntimeWarning: invalid value encountered in log\n",
      "  \"\"\"\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x=np.linspace(-10,10,1000)\n",
    "a=np.sin(x)\n",
    "b=np.cos(x)\n",
    "c=np.tan(x)\n",
    "d=np.log(x)\n",
    "\n",
    "plt.figure(figsize=(8,4))\n",
    "plt.plot(x,a,label='sin(x)',color='green',linewidth=0.5)\n",
    "plt.plot(x,b,label='cos(x)',color='red',linewidth=0.5)\n",
    "plt.plot(x,c,label='tan(x)',color='blue',linewidth=0.5)\n",
    "plt.plot(x,d,label='log(x)',color='grey',linewidth=0.5)\n",
    "\n",
    "plt.xlabel('Time(s)')\n",
    "plt.ylabel('Volt')\n",
    "plt.title('PyPlot')\n",
    "plt.xlim(-10,10)\n",
    "plt.ylim(-5,5)\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 只能画这些图吗？当然不是"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1000,)   (100,)   (101,)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    " \n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.patches as patches\n",
    "import matplotlib.path as path\n",
    " \n",
    "fig = plt.figure()\n",
    "ax = fig.add_subplot(111)\n",
    " \n",
    "# 固定随机数种子\n",
    "np.random.seed(19680801)\n",
    " \n",
    "# 产生1000组随机数，并进行组织\n",
    "data = np.random.randn(1000)\n",
    "n, bins = np.histogram(data, 100)\n",
    "print(data.shape,n.shape,bins.shape,sep='   ')\n",
    " \n",
    "# 得到每一个条形图的四个角落的位置\n",
    "left = np.array(bins[:-1])\n",
    "right = np.array(bins[1:])\n",
    "bottom = np.zeros(len(left))\n",
    "top = bottom + n\n",
    "nrects = len(left)\n",
    " \n",
    "nverts = nrects*(1+3+1)\n",
    "verts = np.zeros((nverts, 2))\n",
    "codes = np.ones(nverts, int) * path.Path.LINETO\n",
    "codes[0::5] = path.Path.MOVETO\n",
    "codes[4::5] = path.Path.CLOSEPOLY\n",
    "verts[0::5,0] = left\n",
    "verts[0::5,1] = bottom\n",
    "verts[1::5,0] = left\n",
    "verts[1::5,1] = top\n",
    "verts[2::5,0] = right\n",
    "verts[2::5,1] = top\n",
    "verts[3::5,0] = right\n",
    "verts[3::5,1] = bottom\n",
    " \n",
    "#第二步：构造patches对象\n",
    "barpath = path.Path(verts, codes)\n",
    "patch = patches.PathPatch(barpath, facecolor='green', edgecolor='yellow', alpha=0.5)\n",
    " \n",
    "#添加patch到axes对象\n",
    "ax.add_patch(patch)\n",
    " \n",
    "ax.set_xlim(left[0], right[-1])\n",
    "ax.set_ylim(bottom.min(), top.max())\n",
    " \n",
    "plt.show()\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
